package com.zzh.partnersys.ai.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * AI助手关联的文档表
 * </p>
 *
 * @author zzh
 * @since 2025-01-XX
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ai_assistant_document")
public class AiAssistantDocumentDO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 文档关联ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 助手ID（关联ai_assistant.id）
     */
    @TableField("assistantId")
    private Long assistantId;

    /**
     * 文档名称
     */
    @TableField("documentName")
    private String documentName;

    /**
     * 文档存储地址（用于RAG读取）
     */
    @TableField("documentUrl")
    private String documentUrl;

    /**
     * 文档大小（MB）
     */
    @TableField("documentSize")
    private Double documentSize;

    /**
     * 文档类型（如pdf、docx、txt）
     */
    @TableField("documentType")
    private String documentType;

    /**
     * 上传时间
     */
    @TableField("createTime")
    private LocalDateTime createTime;

    /**
     * 上传时间
     */
    @TableField("uploadTime")
    private LocalDateTime uploadTime;

    /**
     * 状态（0-失效，1-有效）
     */
    @TableField("status")
    private Integer status;

    /**
     * 是否删除（0-否，1-是）
     */
    @TableField("isDelete")
    @TableLogic
    private Integer isDelete;
}

